package cn.tedu.oa.common.dao;

import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.List;

public interface BaseDao<T> {
    void add(T t);

    void update(T t);

    void delete(Serializable id);

    void deleteByIds(@Param("ids") Integer... ids);

    T get(Serializable id);

    List<T> getAll();

    int getRowCount(@Param("criteria") Object criteria);

    int getRowCount();

    int getRowCount(@Param("criteria")Object criteria,
                    @Param("startTime") String startTime,
                    @Param("endTime") String endTime);
}
